package com.goodfox.web.generic.function.mapper;

import java.util.List;
import java.util.Map;

import com.goodfox.web.generic.function.entity.Function;

public interface FunctionMapper {

	/**
	 * 查询功能列表
	 * @param map
	 * @return
	 */
	List<Function> selectFunctionList(Map map);
	
	/**
	 * 查询功能数量
	 * @param map
	 * @return
	 */
	Long selectFunctionListCount(Map map);
	
	/**
	 * 查询子功能数量
	 * @param map
	 * @return
	 */
	Long selectSubFunctionListCount(Map map);

	/**
	 * 查询功能
	 * @param map
	 * @return
	 */
	Function selectFunctionById(String funId);

	/**
	 * 插入功能
	 * @param function
	 */
	void insertFunction(Function function);

	/**
	 * 更新功能
	 * @param function
	 */
	void updateFunction(Function function);

	/**
	 * 删除功能
	 * @param funId
	 */
	void deleteFunctionById(String funId);
	
	/**
	 * 查询角色功能列表
	 * @param map
	 * @return
	 */
	List<Function> selectRoleFunctionList(Map map);
	
	/**
	 * 查询角色功能列表
	 * @param roleId
	 * @return
	 */
	List<Function> selectRoleFunctionListByRoleId(String roleId);
}
